# 导入opencv 库 如果没有安装这个库 需要先安装 才能使用
import cv2 as cv


# 准备好需要替换的字符串
# 这一行最后一个 \  是用来连接字符串的
my_str = "$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjf" \
         "t/\|()1{}[]?-_+~<>i!lI;:,\"^`'. "


# 读入图片
img_array = cv.imread('test3.jpg')
# 使用opencv 库函数 将图片转换为灰度图片
img_gray = cv.cvtColor(img_array, cv.COLOR_BGR2GRAY)
# 打开一个txt文件准备写入
with open(r'C:\Users\huabao.tan.CORP\Desktop\新建文件夹\1.txt', 'w') as f:
    # 开始遍历每一个元素
    for i in img_gray:
        temp_str = ''
        for j in i:
            # 根据图片的灰度值的不同替换为不同的字符
            # 70 为准备字符串的长度 256为0到255 一共256个灰度值
            temp_str += my_str[int(j / (256 / 70))]
        # 每行结束写入一个换行符
        temp_str += '\n'
        # 写入文件
        f.write(temp_str)
